• RandomPasswordGenerator.py
  • project /
1 # se selecteaza un cuvant random dintr-o lista
2 # de
400 de cuvinte
3 import random
4
5 def rand_word_gen(lang):
6     myline =
0
7     myline2 =
0
8     #myline1
is the first word
9     #myline2
is the second word
10     #we
're adding the first word to myline2
11     
if lang=="1":
12         file1=open(
"wordsENG.txt","r")
13         file2=open(
"wordsENG2.txt","r")
14     elif lang==
"2":
15         file1=open(
"wordsRO.txt","r")
16         file2=open(
"wordsRO2.txt","r")
17     lines = file1.read().splitlines()
18     myline =random.choice(lines)
19
20     lines2 = file2.read().splitlines()
21
22     
if rand_num_gen()%2 == 0:
23         myline = myline.upper()
24
25     
if rand_num_gen()%3 == 0:
26         myline2 = myline + random.choice(lines2)
27     elif rand_num_gen()%
3 == 2:
28         myline2 = myline
29     
else:
30         myline2 = random.choice(lines2) + myline
31     
return myline2
32
33 def rand_symb_gen():
34     lines = open(
'symbols.txt').read().splitlines()
35     myline = random.choice(lines)
36     
return str(myline)
37
38 # se genereaza un numar random de maxim
4 cifre
39 def rand_num_gen():
40     
return random.randint(1,1000)
41
42 ###########################
43 def gen_word_and_number(lang):
44     rw=str(rand_word_gen(lang))
45     rn=str(rand_num_gen())
46     
return rw,rn
47
48 # functii principale #######################################
49 def easy_pass_gen(lang):
50     randomWord, randomNumber = gen_word_and_number(lang)
51     
if rand_num_gen()%2 == 0:
52         easypass = randomWord + str(randomNumber)
53     
else:
54         easypass = str(randomNumber) + randomWord
55     
return easypass
56
57 def strong_pass_gen(lang):
58     temppass = rand_symb_gen()
59     
for i in range(rand_num_gen()%4):
60         symbol = rand_symb_gen()
61         temppass = temppass + symbol
62
63     epg=easy_pass_gen(lang)
64     #print(epg)
65     #de aici rezulta ca problema de acum e cu easy_pass_gen, nu returneaza un cuvant
for some reason
66     #problema e rezolvata (?), acum mai e doar problema ca uneori se genereaza doar numere random, inca nu stiu unde. somn usor
67     l = list(temppass)
68     random.shuffle(l)
69     temppass =
''.join(l)
70
71     l = list(epg)
72     random.shuffle(l)
73     
if rand_num_gen()%2 == 0:
74         temppass = temppass +
''.join(l)
75     
else:
76         temppass =
''.join(l) + temppass
77     
return temppass
78 ############################################################
79
80
81
82 def passcheck(passd):
83     
if len(passd)>4 and len(passd)<20:
84         
return 1
85     
else: return 0
86
87 def genpass(answer,lang):
88     
while True:
89         
if answer == "1":
90             passd=easy_pass_gen(lang)
91         
else:
92             passd=strong_pass_gen(lang)
93         
return passd
94         
if passcheck(passd)==1:
95             
return passd
96             print(
"passcheck passed!")
97         
else:
98             print(
"problema cu passcheck")
99             genpass(answer,lang)
100
101 #def main():
102 # file = open(
"wordsENG2.txt", "r")
103 # file5 = open(
"parole.txt", "a")
104 # file5.write(easy_pass_gen(file,
2))
105 # file5.write(
"\n")
106
107 #
if __name__== "__main__":
108 # i=
501
109 #
while i>0:
110 # main()
111 # i-=
1
112
113 def main():
114     lang = input(
"EN/RO?")
115     answer = input(
"Do you want a weak or strong password ? (1=weak, 2=strong) : ")
116     print(genpass(answer,lang))

117
118
119 if
__name__== "__main__":
120     main()


Gõ tìm kiếm nhanh...